#ifndef __ENCODER_H
#define __ENCODER_H


#include "stdint.h"


/* ====================== 自定义常量 =========================== */



/* ===================== 自定义结构体 ========================== */

// TLE5012B传感器结构体
typedef struct
{
    /* data */
    float angleOffect;					// 零角度偏差
    void (*SetCSLeave)(uint8_t leave);	// 设置片选
    void (*SPIWrite)(uint16_t data);	// SPI写数据
    uint16_t (*SPIRead)(void);			// SPI接收数据
	void (*Delay_us)(uint32_t us);		// 延时函数
	
}TLE5012B_Struct;
typedef TLE5012B_Struct *PTLE5012B_Struct;


// AS5600传感器结构体
typedef struct
{
    /* data */
    float angleOffect;						// 零角度偏差
    void (*IICWrite)(uint8_t data);			// IIC写数据
    uint16_t (*IICRead)(void);				// IIC接收数据
	
}AS5600_Struct;
typedef AS5600_Struct *PAS5600_Struct;


/* ======================= 对外接口 ============================ */

float ReadTLE5012BAngle(PTLE5012B_Struct pTLE5012B);
float ReadAS5600Angle(PAS5600_Struct pAS5600);


#endif /* __ENCODER_H */






